package com.nttuan.model.dao.service;

import android.content.Context;

import com.nttuan.model.entity.Alarm;
import com.nttuan.model.entity.Clash;
import com.nttuan.model.entity.FreeTime;
import com.nttuan.model.entity.Task;

import java.util.Date;
import java.util.List;

/**
 * Created by NT Tuan on 10/22/2014.
 */
public interface TaskService {
    public boolean leader(int taskId, int userId);
    public boolean updatePublicId(int taskId, int publicId);
    public List<Task> taskOfWeek(Date date, boolean isActive);
    public Task taskByPublicId(int publicId);
    public boolean activeByPublicId(int publicId,boolean isActive);
    public boolean removeByPublicId(int publicId);
    public List<Task> tasks();
    public List<Task> tasks(boolean isActive);
    public Task task(int taskId);
    public int createNewId(Task task);
    public int newId();
    public boolean create(Task task);
    public boolean update(Task task);
    public boolean remove(int taskId);
    public boolean active(int taskId, boolean isActive);
    public List<Task> available(Date since, boolean isActive);
    public List<Task> taskOfDate(Date date, boolean isActive);
    public List<Task> tasksAvailableOfDate(Date date, boolean isActive);
    public List<Task> comingTasks(Date date, boolean isActive);
    public  List<FreeTime> freeTime(Context context, Date onDate, boolean isActive);
    public List<Clash> getClash(Task task);
    public List<Alarm> getAlarm(Date currentDate);
    public boolean createPublicId(int taskId, int publicId);
}
